// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IDataManager.cs" company="Concept Architecture">
//   (c) 2010 Muhammad Umer Farooq
// </copyright>
// <summary>
//   Defines the <seealso cref="IDataManager" /> type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Hisaab.Business.Interfaces
{
    using System.Collections.Generic;

    using Hisaab.Business.Entities;
    using Hisaab.Client.Common;

    /// <summary>
    /// Defines the <seealso cref="IDataManager"/> type.
    /// </summary>
    public interface IDataManager
    {
        /// <summary>
        /// Imports the data.
        /// </summary>
        /// <param name="importFileName">Name of the import file.</param>
        /// <param name="userId">The user id.</param>
        /// <param name="password">The password.</param>
        void ImportData(string importFileName, int userId, string password);

        /// <summary>
        /// Exports the data.
        /// </summary>
        /// <param name="exportFileName">Name of the import file.</param>
        /// <param name="userId">The user id.</param>
        /// <param name="password">The password.</param>
        void ExportData(string exportFileName, int userId, string password);

        /// <summary>
        /// Imports the bank data.
        /// </summary>
        /// <param name="fileName">The data contents.</param>
        /// <param name="banks">The banks.</param>
        /// <returns>
        /// Transactions parsed
        /// </returns>
        IEnumerable<Transaction> ImportBankData(string fileName, Banks banks);
    }
}